#ifndef _WEBUIDIALOG_H_
#define _WEBUIDIALOG_H_

#include "stdafx.h"

#include <ui/iwebui.h>

class CWebUIWindowImpl :	public IWebUI, 
							public IPlugin,
							public IPluginRun,
							public CUnknownImp
{
public:	
	CWebUIWindowImpl(void);
	virtual ~CWebUIWindowImpl(void);
public:
	UNKNOWN_IMP3_(IPlugin, IPluginRun, IWebUI);
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method_impl init_class(IBase* prot, IBase* punkOuter);
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method(Init)(void*);
	std_method(Uninit)();
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method(Start)();
	std_method(Stop)();
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	//IWebUI
	std_method(InitParam)(DWORD dwStyles, DWORD dwExStyles);
	std_method_(HWND, Create)(LPCTSTR lpUrl, IWebUIClose * pCloseHandle, HWND hParentHwnd);
	std_method(Destroy)();
	std_method_(BOOL, Show)(int nCmdShow);
	std_method(DoModal)(LPCTSTR lpUrl, HWND hParentHwnd);
	std_method(EndModal)();
	std_method(Navigate)(LPCTSTR lpUrl);
	std_method_(HWND, GethWnd)();
	//////////////////////////////////////////////////////////////////////////
private:
	_lComPtr<IComRunningObjectTable>	m_pRot;
};

#endif